#登录业务

import allure
#导入和该业务有关的N个页面类
from page.page_index import PageIndex
from page.page_login import PageLogin
from page.page_user import PageUser

class ServiceLogin(object):
    def __init__(self,driver,base_url):
        #初始化该业务有关的N个页面类对象
        self.page_index=PageIndex(driver,base_url)
        self.page_login=PageLogin(driver,base_url)
        self.page_user=PageUser(driver,base_url)

    def service_loginService_001(self,d):
        #完成首页页面的UI操作
        #打开首页网址
        allure.attach("","打开首页")
        self.page_index.openUrl()
        #点击首页登录按钮
        allure.attach("", "点击首页的登录按钮")
        self.page_index.click_loginButton()

        #完成登录页面的UI操作
        #输入账号
        allure.attach("", f"输入账号:{d['zanhao']}")
        self.page_login.input_zanhao(d["zanhao"])
        #输入密码
        allure.attach("", f"输入账号:{d['pwd']}")
        self.page_login.input_pwd(d["pwd"])
        #点击登录页面的登录按钮
        allure.attach("", "点击登录按钮")
        self.page_login.click_loginButton()

        #完成个人中心页面的UI操作
        yuqi=d["yuqi"]
        siji=self.page_user.getNiCenText() #"nswe，欢迎光临"
        imgName=self.page_user.savePng("登录",d["key"]) #"登录_K001_20241224164601"
        allure.attach(open(f'./screen/{imgName}.png', 'rb').read(), "登录结果的截图",allure.attachment_type.PNG)
        return yuqi==siji

    def service_loginService_002(self,d):
        # 完成首页页面的UI操作
        # 打开首页网址
        self.page_index.openUrl()
        # 点击首页登录按钮
        self.page_index.click_loginButton()

        # 完成登录页面的UI操作
        # 输入账号
        self.page_login.input_zanhao(d["zanhao"])
        # 输入密码
        self.page_login.input_pwd(d["pwd"])
        # 点击登录页面的登录按钮
        self.page_login.click_loginButton()

        yuqi=d["yuqi"] #"invalid-text"
        siji=self.page_login.getPwdAttrClass() #"xxxx invalid-text"
        return yuqi in siji



    def service_loginService_003(self,d):
        # 完成首页页面的UI操作
        # 打开首页网址
        self.page_index.openUrl()
        # 点击首页登录按钮
        self.page_index.click_loginButton()

        # 完成登录页面的UI操作
        # 输入账号
        self.page_login.input_zanhao(d["zanhao"])
        # 输入密码
        self.page_login.input_pwd(d["pwd"])
        # 点击登录页面的登录按钮
        self.page_login.click_loginButton()

        yuqi=d["yuqi"] #“错误”
        siji=self.page_login.getErrorTipsDivText() #"账号或密码错误"
        return yuqi in siji


    def service_loginService_004(self,d):
        # 完成首页页面的UI操作
        # 打开首页网址
        self.page_index.openUrl()
        # 点击首页登录按钮
        self.page_index.click_loginButton()

        # 完成登录页面的UI操作
        # 输入账号
        self.page_login.input_zanhao(d["zanhao"])
        # 输入密码
        self.page_login.input_pwd(d["pwd"])
        # 点击登录页面的登录按钮
        self.page_login.click_loginButton()

        yuqi = d["yuqi"]  # “错误”
        siji=self.page_login.getZanhaoAttrClass() #"XXX invalid-text"
        return yuqi in siji
